#include <iostream>
#include <map>
#include "global.hpp"

std::ostream & operator<<(std::ostream & os, const std::pair<int,std::string> & p)
{
    os<<p.first<<" "<<p.second<<"\n";
    return os;
}

int main()
{
    std::pair<int,std::string> p = std::make_pair(1,"zhangsan");
    //std::cout<<p.first<<" "<<p.second<<std::endl;

    //红黑树
    //map
    // std::map<int,std::string> m; //按照队组的第一个元素排序
    // m.insert(p);
    // m.insert({3,"wangwu"});
    // m.insert(std::make_pair(2,"lisi"));   
    
    // //m.insert({1,"zhaoliu"}); //map值唯一

    // m[2] = "zhaoliu"; //[] : 存在就修改  不存在就创建插入
    // Print(m);
    // auto ite = m.find(3);
    // m.erase(1);
    // std::cout<<ite->first<<" "<<ite->second<<"\n";


    //multimap
    std::multimap<int,std::string> m; //按照队组的第一个元素排序
    m.insert(p);
    m.insert({3,"wangwu"});
    m.insert(std::make_pair(2,"lisi"));   
    
    m.insert({1,"zhaoliu"}); 
    auto ite = m.find(1);
    m.erase(1);
    Print(m);


    return 0;
}